package com.ihr360.expr;


import com.ihr360.expr.core.ExprNumber;
import com.ihr360.expr.core.ExprType;

import java.math.BigDecimal;

public class ExprBigDecimal extends ExprNumber {
    public static final ExprBigDecimal ZERO = new ExprBigDecimal(0);

    public final BigDecimal value;

    public ExprBigDecimal(double value) {
        super(ExprType.BigDecimal);
        this.value = BigDecimal.valueOf(value);
    }
    public ExprBigDecimal(BigDecimal value) {
        super(ExprType.BigDecimal);
        this.value = value;
    }
    @Override
    public int intValue() {
        return value.intValue();
    }

    @Override
    public double doubleValue() {
        return value.doubleValue();
    }

    @Override
    public BigDecimal bigDecimal() {
        return value;
    }

    @Override
    public String toString() {
        return value.toString();
    }

    @Override
    public int hashCode() {
        return value.hashCode();
    }

    @Override
    public boolean equals(Object obj) {
        return obj instanceof ExprBigDecimal &&
                value.equals(obj);
    }
}
